引入pinyin
groupBy详见

import pinyin from 'pinyin'

export function formatList(arr, keyword) {
  arr.forEach((item,index)=>{
    item.nameFirstChat = pinyin(item[keyword], {
        // heteronym: true, // 启用多音字模式
        // segment: true, // 启用分词,以解决多音字问题。
        style: pinyin.STYLE_NORMAL
    })[0][0].charAt(0).toUpperCase();
  })

  arr = arr.groupBy('nameFirstChat');

  return arr;
}

Array.prototype.groupBy = function (prop) {
  return this.reduce(function (groups, item) {
    var val = item[prop];
    groups[val] = groups[val] || [];
    groups[val].push(item);
    return groups;
  }, {});
}

数字字母下划线
368 声望7 粉丝